import { Module } from '@nestjs/common';
import { MulterModule } from '@nestjs/platform-express';
import { diskStorage } from 'multer';
import { extname } from 'path';
import { FileService } from './file.service';
import { FileController } from './file.controller';
import { ConfigModule } from '@nestjs/config';

@Module({
  imports: [
    ConfigModule.forRoot(),
    MulterModule.register({
      storage: diskStorage({
        // 文件存储目的地
        destination: 'assets/',

        // 文件名生成函数，基于时间戳和随机数确保唯一性
        filename: (req, file, callback) => {
          const uniqueName =
            Date.now() + '-' + Math.round(Math.random() * 1e10);
          const extension = extname(file.originalname); // 获取原始文件名的扩展名
          callback(null, uniqueName + extension); // 返回最终的文件名
        },
      }),
    }),
  ],
  providers: [FileService],
  controllers: [FileController],
})
export class FileModule {}
